import Vue from 'vue'
import App from './App.vue'
import './base.css'

import mitt from 'mitt'
import PubSub from 'pubsub-js'

// 将vm对象指定为事件总线对象, 并挂载到Vue原型对象上 => 让所有组件都直接可见
// Vue.prototype.$bus = new Vue()
// 产生一个事件发射器对象, 并挂到Vue原型对象上 => 让所有组件都直接可见
Vue.prototype.$emitter = mitt()
Vue.prototype.$PubSub = PubSub

Vue.config.productionTip = false
new Vue({
  // 最早能访问vm对象的勾子
  beforeCreate () {
    // 将vm对象指定为事件总线对象, 并挂载到Vue原型对象上 => 让所有组件都直接可见
    Vue.prototype.$bus = this
  },
  render: h => h(App),
}).$mount('#app')

